package top.hudk.tank.config;

import java.io.IOException;
import java.util.Properties;

/**
 * 全局配置类，单例
 * @author hudk
 */
public class PropertyLoader {

	private PropertyLoader instance = null;

	private PropertyLoader(){
		if(this.instance != null){
			throw new RuntimeException("本对象是单例模式，系统内不允许多出现个实例");
		}
	}

	/**
	 * 单例
	 * @return
	 */
	public PropertyLoader getInstance(){
		if(this.instance == null){
			synchronized(PropertyLoader.class){
				if(this.instance == null){
					this.instance = new PropertyLoader();
					return this.instance;
				}
			}
		}
		return this.instance;
	}


	static Properties props = new Properties();

	/**
	 * 以静态块的方式，在程序启动时加载配置文件
	 */
	static {
		try {
			props.load(PropertyLoader.class.getClassLoader().getResourceAsStream("config"));
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 获取配置入口
	 * @param key
	 * @return
	 */
	public static Object get(String key) {
		if(props == null) {
			return null;
		}
		return props.get(key);
	}
	
	public static void main(String[] args) {
		System.out.println(PropertyLoader.get("initTankCount"));
	}
}
